虚拟现实混合MR视频制作指南
如果你保持关注虚拟现实行业,那么大名鼎鼎的HTC Vive你肯定早就纳入了囊中(为了提前比别人进入下一个新世界,两万块还是很值得的,毕竟这种风口我们这个尴尬的年纪已经错过很多次了,对不?),而除了游戏领域的内容体验外,我们正在尝试通过"虚拟现实头显+手柄+Lighthouse基站定位装置+绿幕抠像技术"来创造出更有趣的行业应用和展示视频,接下来星佳就结合国外大神和圈内从业者们一起研究出的宝贵经验和读者们分享下如何低成本的打造虚拟演播室,同时利用直播软件可以通过直播平台方便的做MR视频的直播哦,当然游戏宣传片的制作也是基于此基础上进行更细节的工作,希望此章的内容可以对你有用。
什么是MR(Mixed Reality)虚拟现实混合视频?
Mixed Reality视频就是VR影像+人的影像合成的视频。相比普通录制电脑屏幕游戏画面和游戏者录像实拍分屏显示的假VR视频,Mixed Reality视频更适合用来做游戏直播和制作虚拟现实应用宣传视频,比如大名鼎鼎的Google tilt bursh绘画程序,而由此带来了很多新的可能,比如教育,多人互动,科普等虚拟现实行业应用的展示,甚至虚拟现实游戏的评测和直播,而对于线下体验店来说也是很好的引流方式。
上面这个视频截图来源HTC Vive官方宣传片的Mixed Reality视频花絮,游戏画面来源于官方赠送的一款叫做"The Lab"的射箭体验游戏,而游戏者的画面是由一台摄像机配合第三只实体Vive手柄实时捕捉的。
同样是来源于免费的"the lab"游戏的插图
因为人的影像摆放的位置,透视关系和玩家在虚拟场景中的位置,映射坐标都一样,摄像机拍摄画面中手拿手柄的位置和游戏画面中虚拟手柄的位置是完全一样的,看起来就像体验者身临其境走进了一个虚拟世界,并用双手借助实体手柄直接和游戏的虚拟环境和物体互动。
而在此之前,我们看到的大多数的虚拟现实演示大多数都是下面这样,对于很多从来没有体验过虚拟现实的人来说看起来确实有点不知所云,虽然玩耍的人确实因为身临其境感觉很爽。
综艺节目中日本女优体验VR时被吓傻。
自己玩的超级high,别人看不明白
不得不说像类似这种经常在直播平台所谓的VR直播里出现的抠像画面真的让人无所适从,随便搞个绿屏就来普及虚拟现实真的可以给目前处于观望状态中的消费者们了解真实的“虚拟现实”吗?没有体验过的人看别人玩的这么high只会更雾里看花……
体验者根本没有同步出现在正确比例的游戏画面里,而本篇文章星佳就教大家如何从零开始低成本的实现MR视频,打造CG级别的视觉效果(对了,这个需要投入一点大价钱了.....)。
MR(Mixed Reality)视频的制作原理
相比普通录制,我们需要购买第三只Vive控制器通过连接usb延长线再配合游戏目录下特殊设定的配置文件,使得某些基于Unity引擎开发的虚拟现实应用就会自动开启混合现实拍摄模式(四分屏画面),第三只Vive控制器和游戏里的虚拟摄像机映射后就可以定位摄影机的位置产生虚拟空间的画面,利用现实中摄影机拍摄游玩的画面抠像后,在开源的直播软件 OBS(Open Broadcaster Software) 下进行即时合成,就能够成功制作混合现实影片了。
所以我们需要:
1. 切换成第三人称视角
2. 将体验者的影像也录制下来
3. 将游戏画面和摄像机影像合成
① 切换成第三人称视角
普通的Vive程序是在玩家头盔的位置摆放两个虚拟camera对应左右眼,分别生成左右眼的画面传给HMD,然后将其中一只眼的画面复制到PC屏幕上。 为了让屏幕上产生第三人称视角的游戏画面,就需要在和玩家一定距离外摆放一个额外的虚拟camera,并且镜头要对准玩家所在位置。之后PC上显示的不再是左右眼画面的复制,而是由这个额外的camera单独绘制的(会增加一定的渲染负担)。
② 将体验者的影像录制下来
因为我们只需要玩家本人的影像,并不需要看到房间里的桌子、墙壁等背景。所以要用到抠像技术。 在录制的时候,让体验者在一个周围是绿布(或者其他颜色)的房间里,然后用一个摄像机 (webcamera或者专业的摄像机)录制他玩游戏时的影像。最后在捕捉到的视频中将绿色去掉,就只剩下人的影像了。
③ 将游戏画面和摄像机影像合成
在1和2中分别提到了一个虚拟摄像机和一个真实的摄像机,为了让他们拍到的影像能实时的合成起来,需要保证他们的视角是一样的。也就是说,假如虚拟摄像机在游戏里的位置是主角左前方2米、朝向和主角的朝向成120度角,那么要保正现实中摄像机在体验者左前方2米,朝向和体验者朝向成120度角。这就需要借助第三个手柄来定位和定向。将额外的手柄绑在摄像机上,或者将手柄和摄像机绑在同一个位置上,原则是确保它们相对位置、相对朝向是不变的。这样当现实中摄像机移动时,游戏通过感知手柄的位置变化,也相应地改变虚拟摄像机的位置。
了解了关于MR的基础理论知识和应用场景,接下来要为大家解答原理和方案到底是如何实现的?
需要准备什么?
硬件部分:
摄影棚:墙和地面铺上绿布(至少三面哦),大概5m*5m即可,同时为了实时抠像,需要不错的布光(尤其是顶部的灯光,约均匀越好),如果没有专业经验还想拍出来牛逼的视觉效果那就请专业的影视行业老司机帮忙搭建吧。
专业工作室和影视公司巨资打造的绿棚
家里或者小型工作室可搭建的低成本绿棚
一些搭建绿棚的技巧:
架设绿幕摄影棚的目的是让真实拍摄后的影像能够去除背景,最少需要两侧墙壁加上地板三面绿布,架设好两侧背景架后,挂上绿背景布,让其中一个背景布稍微重叠到另一侧,最后再铺上地板的布。 为了有更好的去背效果,最后需要拉紧背景布黏在两侧的架子上,尽可能的保持背景布是平的,尽可能的减少皱摺。 打上灯光后尽量让拍摄范围的光线均匀,这样可以达到较好的去背效果,记住顶部的光尤为重要哦。
摄像机的两种方案:
为了节省经费用网络摄像头就行,比如网吧的聊天摄像头,五百块左右的罗技就挺好,例如Logitech Webcam C930e(可以直接通过USB延长线即可或许实时抠像的实拍视频)。
如果你是专业人士想拍出来更好的视觉效果,那么推荐您购买专业的摄像机和视频采集卡,如果有很好的抠像效果那么最后的MR合成效果会更赞,当然成本相对贵一点。
例如大疆如影稳定器或者斯坦尼康,Sony HDR CX405或者全画幅相机Sony A7S II即可。
高性能主机+第三只Vive手柄:
因为需要同时运行游戏和录像,所以要求配置相对较高的电脑,显卡最低GTX970,CPU推荐I7-4790以上。第三只手柄可以直接从HTC官方商店单独购买哦。
4K屏幕:
为了何成1080P的视频,所以需要一块4K屏幕的显示器。
视频采集卡:
采集卡的作用是实时的截取现实摄像机的画面进OBS,当然你如果用的是网络摄像头的廉价方案就不需要了,想拍出来CG级别的效果还是需要专业摄像机配合采集卡才能实时抓取视频画面,此处优先推荐内置在机箱里插主板的采集卡(需要拆装主机,有点麻烦),如果电脑不允许内置可以购买外置的USB采集卡,当然延迟就会稍微有点高了,但是也没有太大的影响。
软件部分:
目前只有Unity3D制作的虚拟现实程序支持MR模式,我们期待Value能够早日携手UE4放出来Unreal Engine for SteamVR的程序,当然SteamVR的版本得至少是1.0.8或以上哦。
OBS或者其他视频合成软件,用于实时获取应用窗口和简单抠图。
详细操作步骤:
1.制作四分屏的配置文件
打开记事本复制以下代码并存挡,名称取为「externalcamera」,并将后缀名改为.cfg,之后将这个文件放到你想要开启 MR 游戏(部分游戏支援如:Space Pirate Trainer, Job Simulator. Zenblade, Tiltbrush...等等,详细的清单会附在文章最后)的游戏目录。
x=0
y=0
z=0
rx=0
ry=0
rz=0
fov=60
near=0.1
far=100
//m=-0.999059,0.015577,-0.040472,-0.0127,-0.016016,-0.999816,0.010544,0.1799,-0.040301,0.011183,0.999125,-0.0846
sceneResolutionScale=0.5
2.固定第三只Vive手柄在摄像机上
第三控制器的作用在原理部分已经讲过,它是负责定位虚拟摄影机的位置,所以必须「完全不动」的固定在摄影机上,一般有热靴的摄影机,可以在热靴上装夹子,或者是直接把控制器绑在闪光灯上。此处由于每款相机的状况不同,请各位根据实际情况绑好手柄即可。
最理想的方式是水平的固定在摄像机上,上图为星佳的罗技C930网络摄像头的廉价方案,这种办法会为之后的同步设定时省下很多时间,如果是专业的工作室建议学习如下的绑定方式哦:
3.按顺序开启控制器
由于我们需要让SteamVR把绑在摄像机上的第三只手柄作为虚拟相机的定位,所以正确的开启顺序很重要:
①确定所以控制器处于关闭状态,之后开启SteamVR
②开启游戏者的两只Vive控制器(摄像机同步以外的两个控制器,按下系统牛钮即可开启)
③确定两只控制器被SteamVR监测后,将第三只控制器用USB延长线连接的方式接上电脑主机,确定第三只控制器被侦测到
最终的实现效果如下:
4.开启游戏启动MR四分屏模式
确定externalcamera.cfg 放入游戏目录后,将游戏开启,首先确认三个控制器都有被 Lighthouse 侦测到,之后按住Shift 开启游戏选择适合你屏幕的最高画質,之后稍等片刻电脑屏幕的游戏画面就会分成四格,代表成功开启了 MR 模式。
通过四分屏最终实现输出的影像由三个影像合成:摄像机捕捉人的影像,覆盖在背景上(合成视频的背景,虚拟摄像机控制的画面),合成视频的前景覆盖在背景上即可。
e.g 摄像机捕捉人的影像,覆盖在背景上(山和太阳),前景(花)覆盖人和背景上。
星佳测试成功的切西瓜游戏的MR视频截图:
出现四分屏画面后,基本就成功了一大半,目前此方式还只支持unity开发的程序,所以不能保证所有游戏应用都可以通过此办法来实现四分屏,文章最后会列出目前大部分支持MR模式的虚拟现实游戏。
5.设置OBS,开始直播
成功下载开源的OBS后即可开启直播,首先确保游戏的四分屏画面成功出现,真实摄像机的画面可以通过采集卡实时捕捉到电脑里。
①背景:
视频来源选择裁剪游戏窗口,裁剪区域为虚拟摄像机第三只手柄的控制画面。
②摄像机捕捉:
a.视频来源选择摄像机画面输入或者视频采集卡。
b.设置绿色为色键(和绿幕颜色一样),扣出人像。
③合成视频的前景:
a.视频来源选择裁剪游戏窗口,区域和四分屏的左上角画面重合。
b.设置黑色为色键,扣除前景画面(注意看透视关系,游戏画面前景成功的遮罩住了人)。
获取正确的前景画面后的遮罩关系图
简单的说,我们首先通过获取真实摄像机拍摄的体验者,之后在OBS里实时抠像出只有体验者的透明画面,借着获取两次窗口分别把四分屏的前景和背景成功获取,最后调整三个画面的透视关系和角度即可成功实现MR。
6.如何快速实现相机与控制器的同步?
①整个过程最难的地方在于如何正确填写.cfg配置文件里的参数,镜头与预设位置之间的距离,分为平行(X)丶垂直(Y)与前后(Z),以及旋转的幅度,这里附上来源于台湾大神CY的经验:
②除了以上数值外,「垂直FOV」的这个数值并没有想像中的容易琢磨出来,一般相机规格写的 FOV 并非「垂直FOV」,最好的解释是留给专业影视老司机来解决,可以肯定的是每款相机和不同镜头的FOV数据都是不同的。
提供一些镜头的垂直 FOV 数据:
Sony HDR CX405: 42.7
LogitechC920 或 C910: 43.3
全片幅 (Full Frame) 搭上 35mm 镜头:27
PS3 Eye (75FOV模式) : 45
(以上来源自:SteamVR Mixed Reality 讨论串)
③把数值填入 用记事本打开「externalcamera.cfg」,X,Y,Z 单位是米,rx,ry,rz (旋转)单位是度。
④开启游戏,看着 OBS 测试,不断开启关闭调整数值,微调直到完美为止。 开始微调如果运气好会在差不多准确的对准状态,慢慢花时间调整到好为止,这里并没什么速成办法,星佳也是慢慢经过长时间的调整有了经验
⑤通过以上的步骤之后,就能够通过 OBS 录制或是直播虚拟现实混合视频的游戏视频了。
最后,星佳附上在低成本环境下拍的测试影片(由于腾讯视频审核没有通过,请点击下方"阅读原文"跳转查看哈),如果经过更多时间的微调,再能有个更好的绿棚抠像效果可以做出更好的效果,当然如果更细致更有经验的话,可以通过AE,Nuke等专业的后期软件做出来出版级的游戏宣传片哦。
注:本文来源于多位国内外大神的文章,感谢他们的共享精神
热门问答:
Q:之前看过你写的教程,文章中提到的调整手柄的工具是什么?
A:对,六月底写过的教程确实提到了他们,最早星佳也确实这样按照步骤实现了基本的MR效果,之后忙于准备融资找投资人所以荒废了一些时间,最近失败后开始安心的花时间完美的解决MR的问题,发现其实调整手柄的工具并没有那么好用,虽然提供了可视化直接调整参数的办法,但是经过实测不如直接靠经验来微调数字来的准确哦。
Q:那为何你最早的教程有那么多代码,还需要一个DLL文件?
A:那种解决办法适用于你只有两只手柄的情况,通过修改代码的方式骗过SteamVR来虚拟一只并不存在的第三只手柄,因为七月初官方并没有开放单卖手柄的服务,所以出此下策,对大家造成的困扰表示道歉。不过这种办法有用的地方在于,如果利用此篇教程所述的办法成功后,不需要第三只手柄就可以在固定的摄像机机位下拍摄MR视频,前提是根本没办法移动,因为只能固定虚拟神相机的视野哦,所以还是花一千多买一只Vive手柄靠谱。
Q:到底搞这一套需要多少钱啊?
A:这个真不好说,低成本有低成本的办法,做出来的效果也就是凑合看看,专业老司机可以做出来游戏宣传片级别,可以需要借助专业的后期软件进行更精细的微调,包括调色,剪辑等专业工作,所以如果你想试试,建议先用低成本方案在家里搭建了小型绿幕练练手,解决了手柄对位的经验问题,再找个懂影视的老司机配合做更好效果的MR视频也不迟哦。
Q:去哪里找你咨询问题?
A:本文里的很多经验并不是星佳一个人折腾出来的,文章里也引用了国内外很多大神的内容,甚至他们辛苦折腾出来的宝贵经验,这里一并谢过他们的分享精神。除此之外,星佳并没有义务去回答任何人提的任何问题,因为你压根没有老老实实的跟着实操,就算是为了商业化,这个技术本身也不好定价,怎么收费也没办法保证可以手把手教会你,所以不如把几个月来团队的成果总结成一片完整的操作手册,除了用于银川文化城虚拟现实体验馆MR展区的操作手册外,也方便那些主播,线下体验店老板,和游戏开发者借鉴经验帮整个虚拟现实行业更进一步的发展。
星佳说:
写完了理性的部分,借着夜色温柔来写点感性的话。
还记得四月底第一次使用了HTC Vive后的惊喜,在此之前的一年里已经被DK2和大朋头盔震撼过(虽然那时候压根没多少人知道到底什么是虚拟现实,相信现在依然也有很多人并不知道,所以这也就是为何花这么多心思来研究MR的原因之一),而看了HTC官方的宣传片后就开始思考如何做出来那样的效果,从起初傻不拉几以为就是简单的绿棚抠个像而已,到持续几个月和国内外各种大神学习,和团队小伙伴折腾研究,历时将近两个月终于突破了关键技术难点,所以给各位呈现出了这篇足足快五千字的纯技术科普文章。
其实早就按捺不住成功后的喜悦,又特别期待和别人分享胜利经验的成就感,所以在六月底其实就已经写过了MR的相关技术教程,而这篇教程却给星佳带来了很多困扰,比如每天都有求附件下载的,每天各种『好友』加你微信咨询交流的,还有直接邮件和微博狂风乱炸骚扰星佳说各种不沾边际风凉话的....
于是,在接触了某个业内投资机构失败后,决定把几个月的经验,结合国内外大神的各种教程再实践后的精华部分融会贯通,用星佳的口吻完完全全的公开所有实现MR技术的解决方案,甚至包括了超详细的步骤,投资机构看不懂MR背后巨大的商业价值也无所谓,希望通过这篇详细的指南可以让更多置身于虚拟现实行业的朋友们少走弯路,多做出精品MR影片内容给那些持续观望入坑的朋友们。
当然会有朋友问,难道你不指望靠这个赚钱?
老实说,是压根不知道如何通过MR赚钱,你说这个技术高深吧,其实任何人只要智力正常有毅力迟早都能鼓捣出来,而商业价值呢?不是靠把技术搞出来就可以去忽悠别人买单的,本来星佳团队的短板就一直拿着潜心研究的技术成果却苦于创造不到应该有的市场价值和资本回报,所以既然思考后最近这么多人都在微博和微信咨询关于MR的各种问题,不如就把所以的技术方案开源了罢。
不过心里挺难受的还是融资失败的事情,一直耿耿于怀,可能是第一次面对正规的风险投资基金,突然来的喜悦和突然来的失落反差太大,甚至连一个拒绝的理由都不给,到现在星佳都不明白到底是团队不行,产品不行还是商业模式有问题?有问题正常你提,我们想办法解决就是,最让人无奈的就是昨天还称兄道弟的,今天就理都懒得理你的态度,这种感觉其实还挺难得的。
一头扎进来虚拟现实后,每天都会因为各种的技术迭代和更新而兴奋,随着今年社会媒体,政府和行业巨头对虚拟现实的关注,让VR这个词好像突然一夜就火了起来,而作为从业者虽然短期不能借助资本把我们迅速带入更高的维度,我们也会默默的做一些帮助行业发展的事情,比如老老实实站在巨人们的肩膀上把MR的技术问题解决掉。
虽然很不甘心,但是看到后台那些善意的留言还是觉得很值得的,毕竟除了MR之外我们团队还是有其他吃饭的本事,比如全景视频拍摄,全景场景漫游,表情跟踪和手势捕捉的小伎俩等等,而已经服务过的客户包括比亚迪电动车,中卫云计算基地,中卫沙坡头景区,民生银行宁夏分行等,所以如果你对我们团队感兴趣不妨联系星佳看看我们的BP和作品案例展示哈,万一我们是彼此生命中的贵人也说不定呢,^_^....
附上一段产品成果展示:
https://v.qq.com/txp/iframe/player.html?vid=g0324s4jzrs&width=500&height=375&auto=0
微博:@星佳是个小人物
微信: xingjia10086
点击左下方『阅读原文』去看看星佳测试的MR视频哦